package org.itboys.lock;

/**
 * 分布式锁
 * @author ChenJh
 */
public interface DistributedLock {

    /**
     * 根据锁key 获取分布式锁
     * @param key 锁key
     * @return
     */
    public boolean acquire(String key);

    /**
     * 根据锁key 获取分布式锁 并设置失效时间
     * @param key 锁key
     * @param time 失效时间 单位秒
     * @return
     */
    public boolean acquire(String key , int time);

    /**
     * 根据锁key 释放分布式锁
     * @param key 锁key
     * @return
     */
    public void release(String key);
}
